/*
type int
parse 5 2+3
noparse 1:1 Sum x
parse 7 3 +4
parse 7 3+ 4
parse 7 3 + 4
noparse 2:1 Plus 3 q 5
end 3
end 3 +
*/

Sum :: int ← a:Digit $ Plus $ b:Digit → { a + b }
Digit ← [0-9] _ → { *ref_ptr(ref()) - '0' }

Plus :: void  ← "+" _
_ ← "\n" *
